package com.basics.car.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.basics.framework.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 车辆表
 * </p>
 *
 * @author WangWei
 * @since 2025-05-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("dm_car")
@ApiModel(value="DmCar对象", description="车辆表")
public class DmCar extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "车牌号")
    private String licensePlateNumber;

    @ApiModelProperty(value = "品牌ID")
    private String brandId;

    @ApiModelProperty(value = "型号")
    private String modelId;

    @ApiModelProperty(value = "车辆所有人")
    private String owner;

    @ApiModelProperty(value = "试用性质（字典use_nature）")
    private Integer useNature;

    @ApiModelProperty(value = "发证日期")
    private LocalDateTime fzTime;

    @ApiModelProperty(value = "注册日期")
    private LocalDateTime registrationTime;

    @ApiModelProperty(value = "发动机号")
    private String engineNumber;

    @ApiModelProperty(value = "车辆颜色(字典car_color)")
    private Integer carColor;

    @ApiModelProperty(value = "车牌颜色(字典plate_color)")
    private Integer plateColor;

    @ApiModelProperty(value = "行驶证主页")
    private String drivingLicenseMaster;

    @ApiModelProperty(value = "行驶证附页")
    private String drivingLicenseSlave;

    @ApiModelProperty(value = "行驶证检测照片")
    private String carHeadImg;

    @ApiModelProperty(value = "车尾照片")
    private String carFooterImg;

    @ApiModelProperty(value = "车架号图")
    private String carFrameNoImg;

    @ApiModelProperty(value = "VIN码")
    private String vin;

    @ApiModelProperty(value = "发证日期")
    private LocalDateTime vinFzTime;

    @ApiModelProperty(value = "vin检验日期")
    private LocalDateTime vinCheckTime;

    @ApiModelProperty(value = "厂家品牌型号")
    private String modelNo;

    @ApiModelProperty(value = "行驶证地址")
    private String address;

    @ApiModelProperty(value = "运输证字号")
    private String transportLicenseNo;

    @ApiModelProperty(value = "生效日期")
    private LocalDateTime effectTime;

    @ApiModelProperty(value = "失效日期")
    private LocalDateTime invalidTime;

    @ApiModelProperty(value = "车证图片")
    private String carLicenseImg;


}
